// 添加响应拦截器
// axios.interceptors.response.use(函数1,函数2);
// 函数1，处理的是成功状态 (状态码是2xx, 300) 的响应
// 函数2，处理的是失败状态 (响应状态码是4xx, 5xx) 的响应
axios.interceptors.response.use(
  function (response) {
    // 对响应错误做点什么
    // console.log(response);
    let { status, message } = response.data;
    if (status === 1) layer.msg(message);
    return response;
  },
  function (error) {
    // 对响应错误做点 什么
    // console.log(error.response);
    let { status, message } = error.response.data;
    layer.msg(message);
    return Promise.reject(error);
  }
);

// ------------------------切换俩个盒子------------------
// 点击登录的盒子里面的a标签，让注册的盒子显示(注册的盒子显示了，就会隐藏登录的盒子)
$(".login a").on("click", function () {
  $(".register").show();
});

// 点击注册的盒子里面的a标签，然注册的盒子隐藏
$(".register a").on("click", function () {
  $(".register").hide();
});

// ------------------------登录功能------------------
// 当表单提交的时候，阻止默认行为，收集账号和密码，ajax提交到接口
$(".login form").on("submit", function (e) {
  e.preventDefault();
  let data = $(this).serialize(); //获取表单数据
  //   console.log(data);
  // 这里提交ajax数据，我们选择axios

  //   axios.post(url,请求体).then(函数);
  axios.post("http://www.itcbc.com:8080/api/login", data).then((res) => {
    // console.log(res);
    // 结构赋值，获取响应结果中的 status/messagr/token
    let { status, message, token } = res.data;
    if (status === 0) {
      // 保存token ==> localStorage
      localStorage.setItem("token", token);
      // 提示一下
      layer.msg(message, { time: 1500 }, () => {
        // 跳转到index页面
        location.href = "./index.html";
      });
    }
  });
  //   $.ajax({
  //       type:'POST',
  //       url:'http://www.itcbc.com:8080/api/login',
  //       data:data,
  //       success: function(res) {

  //       }
  //   })
});

// ------------------------注册功能------------------
$(".register form").on("submit", function (e) {
  e.preventDefault();
  let data = $(this).serialize(); //获取表单数据
  axios.post("http://www.itcbc.com:8080/api/reguser", data).then((res) => {
    //   console.log(res);
    let { status, message } = res.data;
    if (status === 0) {
      layer.msg(message);
      // 清空输入框(重置表单)
      $(".register form")[0].reset();
      $(".register").hide();
    }
  });
});

// -------------------------表单验证-----------------
// 自定义验证规则
// 使用类ui的内置模块,使用之前，必须先加载模块
// 下载语法 let xxx = layui.模块名
let form = layui.form;
// console.log(form);
form.verify({
  // 键(验证规则) : (怎样验证)
  // len:['正则表达式','验证不通过时的提示'],
  len: [/^\S{6,12}$/, "长度6~12位切不能有空格"], // {6,12} 不是 {6, 12}

  // 函数形式，函数的形参表示 使用该验证规则的输入框的值
  // 案例中，确认密码使用了这个验证规则，形参val表示我们输入的确认密码

  same: function (val) {
    // 获取密码
    let pwd = $(".pwd").val();
    // 判断
    if (pwd !== val) return "俩次密码不一致";
  },
});
